package com.infore.airsupervise.biz;

import com.infore.airsupervise.bean.BaseBean;
import com.infore.airsupervise.bean.EventDetailsE;
import com.infore.airsupervise.bean.EventE;
import com.infore.airsupervise.bean.StationExpandE;
import com.infore.airsupervise.http.BaseResponse;
import com.infore.airsupervise.http.OnServerResponseListener;

import java.util.List;
import java.util.Map;

import retrofit2.Call;

/**
 * Created by Administrator on 2017/8/18.
 */

public interface EventBiz {


    /**
     * 获取事件列表
     * @param datatype
     * @param pagenum
     * @param listener
     * @return
     */
    Call<BaseResponse> getEventList(String datatype,int pagenum,int recordtype, OnServerResponseListener<List<EventE>> listener);

    /**
     * 搜索事件
     * @param keyword
     * @param datatype
     * @param pagenum
     * @param listener
     * @return
     */
    Call<BaseResponse> getSearchEventList(String keyword,int datatype,int pagenum, OnServerResponseListener<List<EventE>> listener);

    /**
     * 搜索事件处理 列表
     * @param keyWord
     * @param pageNum
     * @param listener
     * @return
     */
    Call<BaseResponse> getSearchHandleEventList(String keyWord , int pageNum ,OnServerResponseListener<List<EventE>> listener);

    /**
     * 获取事件详情
     * @param eventid
     * @param listener
     * @return
     */
    Call<BaseResponse> getEventDetails(String eventid, OnServerResponseListener<EventDetailsE> listener);

    /**
     * 处理时间确认
     * @param eventid
     * @param listener
     * @return
     */
    Call<BaseResponse> getHandlerEventVerify(String eventid, OnServerResponseListener<BaseBean> listener);


    /**
     * 提交事件数据
     * @param params
     * @param filePaths
     * @param listener
     * @return
     */
    Call<BaseResponse> submitEventData(Map<String, Object> params,
                                             List<String> filePaths, OnServerResponseListener<BaseBean> listener);

    /**
     * 获取站点
     * @param listener
     * @return
     */

    Call<BaseResponse> getStationTreeRequest(OnServerResponseListener<List<StationExpandE>> listener);


    /**
     * 新建事件提交数据
     * @param params
     * @param listener
     * @return
     */
    Call<BaseResponse> submitCreateEventData(Map<String, Object> params,
                                       OnServerResponseListener<BaseResponse> listener);

    /**
     * 编辑事件提交数据
     * @param params
     * @param listener
     * @return
     */
    Call<BaseResponse> submitEditorEventData(Map<String, Object> params,
                                             OnServerResponseListener<BaseResponse> listener);

    /**
     * 获取事件处理列表
     * @param pageNum
     * @param listener
     * @return
     */
    Call<BaseResponse> getHandlerEventList(int pageNum, OnServerResponseListener<List<EventE>> listener);

}
